﻿<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://Microsoft.ServiceModel.Samples" elementFormDefault="qualified" targetNamespace="http://Microsoft.ServiceModel.Samples" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import namespace="http://schemas.datacontract.org/2004/07/CrazyClient" />
  <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
  <xs:import namespace="http://schemas.datacontract.org/2004/07/System.Windows" />
  <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
  <xs:import namespace="http://schemas.microsoft.com/Message" />
  <xs:element name="TryConnect">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="TryConnectResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="TryConnectResult" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetDisplayInfo">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetDisplayInfoResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/CrazyClient" minOccurs="0" name="GetDisplayInfoResult" nillable="true" type="q1:DisplayInfoList" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetCurrentDisplays">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetCurrentDisplaysResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q2="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="GetCurrentDisplaysResult" nillable="true" type="q2:ArrayOfKeyValueOfguidDisplayulyA2_SGZ" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AddDisplay">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="deviceName" nillable="true" type="xs:string" />
        <xs:element xmlns:q3="http://schemas.datacontract.org/2004/07/System.Windows" minOccurs="0" name="position" type="q3:Point" />
        <xs:element xmlns:q4="http://schemas.datacontract.org/2004/07/System.Windows" minOccurs="0" name="size" type="q4:Size" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AddDisplayResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q5="http://schemas.datacontract.org/2004/07/CrazyClient" minOccurs="0" name="AddDisplayResult" nillable="true" type="q5:Display" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ModifyDisplay">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q6="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="key" type="q6:guid" />
        <xs:element xmlns:q7="http://schemas.datacontract.org/2004/07/System.Windows" minOccurs="0" name="position" type="q7:Point" />
        <xs:element xmlns:q8="http://schemas.datacontract.org/2004/07/System.Windows" minOccurs="0" name="size" type="q8:Size" />
        <xs:element minOccurs="0" name="isFullScreen" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ModifyDisplayResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="RemoveDisplay">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q9="http://schemas.datacontract.org/2004/07/CrazyClient" minOccurs="0" name="display" nillable="true" type="q9:Display" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="RemoveDisplayResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="ResetDisplay">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q10="http://schemas.datacontract.org/2004/07/CrazyClient" minOccurs="0" name="display" nillable="true" type="q10:Display" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ResetDisplayResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="AddFullScreenDisplay">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="deviceName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AddFullScreenDisplayResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q11="http://schemas.datacontract.org/2004/07/CrazyClient" minOccurs="0" name="AddFullScreenDisplayResult" nillable="true" type="q11:Display" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="SendMidiMessage">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q12="http://schemas.datacontract.org/2004/07/CrazyClient" minOccurs="0" name="m" nillable="true" type="q12:MidiMessage" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="SendMidiMessageResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="AssetsNeedsUpdate">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="filename" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="lastUpdate" type="xs:dateTime" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AssetsNeedsUpdateResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="AssetsNeedsUpdateResult" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AssetSendSongData">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q13="http://schemas.microsoft.com/Message" name="data" type="q13:StreamBody" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="fileName" nillable="true" type="xs:string" />
  <xs:element name="lastUpdate" type="xs:dateTime" />
  <xs:element name="SongLoad">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="fileName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="SongLoadResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="SongUnload">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="SongUnloadResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="SongOverride">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="activate" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="SongOverrideResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="SendData">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="name" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="value" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="SendDataResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="SendDataString">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="name" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="value" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="SendDataStringResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
</xs:schema>